Box6
프로젝트
목차
•
시스템
개발
(
레벨
스트리밍
,
세이브
파일
)
•
케릭터
설계
•
게임
플레이
설계
개발
정보
•
현재
진행형으로
개발
진행
중입니다
.
(
현재
프로토
타입
제작중이라
블루프린트가
많이
쓰였습니다
.)
•
사용
언어
c++,
블루프린트
•
리소스
출처
:
3d
리소스
:
https://www
.turbosquid.com
사이트에서
구매
텍스쳐
:
https://www
.gametextures.com/
사이트에서
구매
•
풀소스
파일
:
https://www
.dropbox.com/s/g5314m1fy05x
mtx/20180507%20box6.
zip?dl=0
•
깃허브
:
https://github.com
/hongjinho/box6
시스템
개발
(
레벨
스트리밍
)
c++
•
작동
모습
.
시스템
개발
(
레벨
스트리밍
)
•
메인
로직은
BeginPla
y
함수와
tick
함수로
나눠
집니다
.
•
두
함수다
streaming
함수를
호출하여
범위
안의
레벨
리스트를
불러와서
로드와
언로드를
수행합니다
.
•
streaming
함수에서는
원의
방정식을
이용하여
범위의
안의
스트리밍레벨을
저장
합니다
.
•
최초
로드
시
최초
로드가
완료됬는
지
FRunnable
클래스가
실시간으로
체크를
하여
최초
로드가
완료되면
블루프린트와
직접
통신을
하여
로딩화면을
끄고
게임
을
시작합니다
.
시스템
개발
(
레벨
스트리밍을
직접
구현한
이유
)
•
퍼시스턴스
레벨스트리밍
방식은
같은
폴더
내에
있는
폴더만
가능하므로
디자이
너들이
레벨의
관리가
어렵습니다
.
•
건물
모델링의
원점이
(0,0,0)
이
(3ds max
)
아니어서
퍼시스턴스
기능을
쓰면
로드
가
이상하게
되는
문제가
있어서
레벨스트리밍
제어
코드를
작성하였습니다
.
•
캐릭터
클래스에
컴포넌트를
붙여서
캐릭터
별로
레벨
스트리밍을
처리하고
싶었
습니다
.
시스템
개발
(
세이브
시스템
) c++
•
IPlatformFile
,
FDirectoryV
isitor
클래스를
이용하여
디스크에서
파일을
읽어서
로드
게임
메뉴에
세이브
파일
리스트를
작성합니다
.
시스템
개발
(
세이브
시스템
)
세이브
파일이
저장된
폴더입니다
.
캐릭터
설계
(
블루프린트로
구현
)
•
로직은
게임
초기화
이벤트
,
이벤트
핸들러
,
인풋
이벤트가
있습니다
.
•
게임
초기화
시
기본적인
설정을
합니다
.
•
이벤트
핸들러는
컷
신등의
게임플레이에
관련된
이벤트들을
제어하는
클래스입
니다
.
•
인풋
이벤트는
축
이벤트와
액션
이벤트
등을
인식하여
이동과
마우스
상하좌우로
시야를
이동할
수
있습니다
.
•
점프와
달리기
등
액션을
할
때
SP
게이지가
차서
게이지가
꽉
차면
걷기를
제외하
곤
2
초
동안
액션을
할
수
없습니다
.
게임
플레이
설계
(
사다리
타기
)
블루프린트
구현
게임
플레이
설계
(
사다리
타기
)
게임
플레이
설계
(
사다리
타기
)
•
start ladder
콜리전과
end pos
콜리전을
사다리
양
끝에
배치하면
지정된
높이
만
큼씩
사다리를
올라갑니다
.
•
사다리
모델링을
제작할
땐
사다리
사이의
공간이
일치해야
합니다
.
•
마지막
사다리에서
올라올
때는
점프를
하여
올라옵니다
.
•
사다리
타기시는
w,
s
키를
제외하곤
작동하지
않습니다
.